- 1 - A. Appendix_for_as6809_Frankenstein_Assembler A.1 Pseudo_Operations A.1.1 Standard_Pseudo_Operation_Mnemonics End END File Inclusion INCL INCLUDE If IF Else ELSE End If ENDI Equate EQU Set SET Org ORG Reserve Memory RESERVE RMB Define Byte Data BYTE DB FCB Define Word Data DW FDB WORD Define String Data FCC STRING Define Character Set Translation CHARSET Define Character Value CHARDEF CHD Use Character Translation CHARUSE A.2 Instructions A.2.1 Instruction_List Opcode Syntax Selection Criteria ABX ADCA '#' expr ADCA expr DIRECT ADCA expr EXTENDED ADCA indexed ADCB '#' expr ADCB expr DIRECT ADCB expr EXTENDED ADCB indexed ADDA '#' expr ADDA expr DIRECT ADDA expr EXTENDED ADDA indexed ADDB '#' expr ADDB expr DIRECT ADDB expr EXTENDED - 2 - Opcode Syntax Selection Criteria ADDB indexed ADDD '#' expr ADDD expr DIRECT ADDD expr EXTENDED ADDD indexed ANDA '#' expr ANDA expr DIRECT ANDA expr EXTENDED ANDA indexed ANDB '#' expr ANDB expr DIRECT ANDB expr EXTENDED ANDB indexed ANDCC '#' expr ASL expr DIRECT ASL expr EXTENDED ASL indexed ASLA ASLB ASR expr DIRECT ASR expr EXTENDED ASR indexed ASRA ASRB BCC expr BCS expr BEQ expr BGE expr BGT expr BHI expr - 3 - Opcode Syntax Selection Criteria BHS expr BITA '#' expr BITA expr DIRECT BITA expr EXTENDED BITA indexed BITB '#' expr BITB expr DIRECT BITB expr EXTENDED BITB indexed BLE expr BLO expr BLS expr BLT expr BMI expr BNE expr BPL expr BRA expr BRN expr BSR expr BVC expr BVS expr CLR expr DIRECT CLR expr EXTENDED CLR indexed CLRA CLRB CMPA '#' expr CMPA expr DIRECT CMPA expr EXTENDED - 4 - Opcode Syntax Selection Criteria CMPA indexed CMPB '#' expr CMPB expr DIRECT CMPB expr EXTENDED CMPB indexed CMPD '#' expr CMPD expr DIRECT CMPD expr EXTENDED CMPD indexed CMPS '#' expr CMPS expr DIRECT CMPS expr EXTENDED CMPS indexed CMPU '#' expr CMPU expr DIRECT CMPU expr EXTENDED CMPU indexed CMPX '#' expr CMPX expr DIRECT CMPX expr EXTENDED CMPX indexed CMPY '#' expr CMPY expr DIRECT CMPY expr EXTENDED CMPY indexed COM expr DIRECT COM expr EXTENDED COM indexed COMA COMB CWAI '#' expr DAA DEC expr DIRECT DEC expr EXTENDED DEC indexed - 5 - Opcode Syntax Selection Criteria DECA DECB EORA '#' expr EORA expr DIRECT EORA expr EXTENDED EORA indexed EORB '#' expr EORB expr DIRECT EORB expr EXTENDED EORB indexed EXG register ',' register INC expr DIRECT INC expr EXTENDED INC indexed INCA INCB JMP expr DIRECT JMP expr EXTENDED JMP indexed JSR expr DIRECT JSR expr EXTENDED JSR indexed LBCC expr LBCS expr LBEQ expr LBGE expr LBGT expr LBHI expr LBHS expr - 6 - Opcode Syntax Selection Criteria LBLE expr LBLO expr LBLS expr LBLT expr LBMI expr LBNE expr LBPL expr LBRA expr LBRN expr LBSR expr LBVC expr LBVS expr LDA '#' expr LDA expr DIRECT LDA expr EXTENDED LDA indexed LDB '#' expr LDB expr DIRECT LDB expr EXTENDED LDB indexed LDD '#' expr LDD expr DIRECT LDD expr EXTENDED LDD indexed LDS '#' expr LDS expr DIRECT LDS expr EXTENDED LDS indexed LDU '#' expr LDU expr DIRECT LDU expr EXTENDED - 7 - Opcode Syntax Selection Criteria LDU indexed LDX '#' expr LDX expr DIRECT LDX expr EXTENDED LDX indexed LDY '#' expr LDY expr DIRECT LDY expr EXTENDED LDY indexed LEAS indexed LEAU indexed LEAX indexed LEAY indexed LSL expr DIRECT LSL expr EXTENDED LSL indexed LSLA LSLB LSR expr DIRECT LSR expr EXTENDED LSR indexed LSRA LSRB MUL NEG expr DIRECT NEG expr EXTENDED NEG indexed NEGA NEGB NOP - 8 - Opcode Syntax Selection Criteria ORA '#' expr ORA expr DIRECT ORA expr EXTENDED ORA indexed ORB '#' expr ORB expr DIRECT ORB expr EXTENDED ORB indexed ORCC '#' expr PSHS register list PSHU register list PULS register list PULU register list ROL expr DIRECT ROL expr EXTENDED ROL indexed ROLA ROLB ROR expr DIRECT ROR expr EXTENDED ROR indexed RORA RORB RTI RTS SBCA '#' expr SBCA expr DIRECT SBCA expr EXTENDED SBCA indexed SBCB '#' expr - 9 - Opcode Syntax Selection Criteria SBCB expr DIRECT SBCB expr EXTENDED SBCB indexed SEX STA expr DIRECT STA expr EXTENDED STA indexed STB expr DIRECT STB expr EXTENDED STB indexed STD expr DIRECT STD expr EXTENDED STD indexed STS expr DIRECT STS expr EXTENDED STS indexed STU expr DIRECT STU expr EXTENDED STU indexed STX expr DIRECT STX expr EXTENDED STX indexed STY expr DIRECT STY expr EXTENDED STY indexed SUBA '#' expr SUBA expr DIRECT SUBA expr EXTENDED SUBA indexed SUBB '#' expr SUBB expr DIRECT SUBB expr EXTENDED SUBB indexed SUBD '#' expr SUBD expr DIRECT SUBD expr EXTENDED - 10 - Opcode Syntax Selection Criteria SUBD indexed SWI2 SWI3 SWI SYNC TFR register ',' register TST expr DIRECT TST expr EXTENDED TST indexed TSTA TSTB A.2.2 Operand_Types A.2.2.1 register_list The operands for the push and pull operations consist of a list of one or more registers seperated by commas. The stack pointer associated with an operator will give an error if it occurs in the list. The registers can be D, X, Y, U, S, PC, A, B, CC, DP and their lower case equivalents. For the push and pull operations, the D register is an alias for the A and B registers, and will result in two selection bits set in the postbyte. A.2.2.2 indexed The indexed mode operands are in the forms. , index expr , index accumulator , index , index + , index ++ , - index , -- index expr , PCR [ , index ] [ expr , index ] [ accumulator , index ] [ , index ++ ] [ , -- index ] [ expr , PCR ] [ expr ] - 11 - Index can be any of X, Y, S, U (or their lower case equivalents). Accumulator can be any of A, B, D (or their lower case equivalents). The short offset forms will only be used if the expression in the operand has a value defined at the first pass, and the value is small enough to fit. Expressions that have an as yet undefined value will use the 16 bit offset form. A.2.3 Selection_Criteria_Keywords DIRECT The instruction can use the direct addressing mode. The expression must have a value between 0 and 255 that is defined when the instruction is processed in the input pass. EXTENDED The instruction can use the extended addressing mode. A.2.4 Apostrophes The apostrophes in the syntax field are a notation used for the parser generator and are not put in the assembler source statement. A.3 Notes A.3.1 Reserved_Symbols A.3.1.1 Machine_Dependent_Reserved_Symbols A B CC D DP PC PCR S U X Y a b cc d dp pc pcr s u x y A.3.1.2 Standard_Reserved_Symbols AND DEFINED EQ GE GT HIGH LE LOW LT MOD NE NOT OR SHL SHR XOR and defined eq ge gt high le low lt mod ne not or shl shr xor CONTENTS A. Appendix for as6809 Frankenstein Assembler.......... 1 A.1 Pseudo Operations.............................. 1 A.2 Instructions................................... 1 A.3 Notes.......................................... 11 - i -